home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / PInterfaces / StringCompare.p < prev    next >
Encoding:
Text File  |  1998-08-17  |  6.5 KB  |  178 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        StringCompare.p
  3.  
  4.      Contains:    Public interfaces for String Comparison and related operations
  5.  
  6.      Version:    Technology:    Mac OS 8
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1985-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. }
  17. {$IFC UNDEFINED UsingIncludes}
  18. {$SETC UsingIncludes := 0}
  19. {$ENDC}
  20.  
  21. {$IFC NOT UsingIncludes}
  22.  UNIT StringCompare;
  23.  INTERFACE
  24. {$ENDC}
  25.  
  26. {$IFC UNDEFINED __STRINGCOMPARE__}
  27. {$SETC __STRINGCOMPARE__ := 1}
  28.  
  29. {$I+}
  30. {$SETC StringCompareIncludes := UsingIncludes}
  31. {$SETC UsingIncludes := 1}
  32.  
  33. {$IFC UNDEFINED __MACTYPES__}
  34. {$I MacTypes.p}
  35. {$ENDC}
  36. {$IFC UNDEFINED __TEXTCOMMON__}
  37. {$I TextCommon.p}
  38. {$ENDC}
  39. {$IFC UNDEFINED __SCRIPT__}
  40. {$I Script.p}
  41. {$ENDC}
  42.  
  43.  
  44. {$PUSH}
  45. {$ALIGN MAC68K}
  46. {$LibExport+}
  47.  
  48. {
  49.  
  50.     Here are the current System 7 routine names and the translations to the older forms.
  51.     Please use the newer forms in all new code and migrate the older names out of existing
  52.     code as maintenance permits.
  53.     
  54.     NEW NAME                    OLD NAME                    OBSOLETE FORM (no handle)
  55.     
  56.     CompareString (Str255)        IUCompPString (hp only)        IUCompString (hp only)
  57.     CompareText (ptr/len)        IUMagPString                IUMagString
  58.     IdenticalString (Str255)    IUEqualPString (hp only)    IUEqualString  (hp only)
  59.     IdenticalText (ptr/len)        IUMagIDPString                IUMagIDString
  60.     LanguageOrder                IULangOrder
  61.     ScriptOrder                    IUScriptOrder
  62.     StringOrder (Str255)        IUStringOrder (hp only)
  63.     TextOrder (ptr/len)            IUTextOrder
  64.  
  65.     RelString
  66.     CmpString (a only)                    
  67.     EqualString (hp only)
  68.     
  69.     ReplaceText
  70.  
  71. }
  72.  
  73.  
  74. CONST
  75.                                                                 {  Special language code values for Language Order }
  76.     systemCurLang                = -2;                            {  current (itlbLang) lang for system script }
  77.     systemDefLang                = -3;                            {  default (table) lang for system script }
  78.     currentCurLang                = -4;                            {  current (itlbLang) lang for current script }
  79.     currentDefLang                = -5;                            {  default lang for current script }
  80.     scriptCurLang                = -6;                            {  current (itlbLang) lang for specified script }
  81.     scriptDefLang                = -7;                            {  default language for a specified script }
  82.  
  83. {  obsolete names }
  84.     iuSystemCurLang                = -2;
  85.     iuSystemDefLang                = -3;
  86.     iuCurrentCurLang            = -4;
  87.     iuCurrentDefLang            = -5;
  88.     iuScriptCurLang                = -6;
  89.     iuScriptDefLang                = -7;
  90.  
  91.  
  92. {
  93.    The following functions are old names, but are required for System 7 PowerPC builds
  94.    because InterfaceLib exports these names, instead of the new ones.
  95. }
  96.  
  97. FUNCTION IUMagPString(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER; itl2Handle: Handle): INTEGER;
  98.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  99.     INLINE $3F3C, $001A, $A9ED;
  100.     {$ENDC}
  101. FUNCTION IUMagIDPString(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER; itl2Handle: Handle): INTEGER;
  102.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  103.     INLINE $3F3C, $001C, $A9ED;
  104.     {$ENDC}
  105. FUNCTION IUTextOrder(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER; aScript: ScriptCode; bScript: ScriptCode; aLang: LangCode; bLang: LangCode): INTEGER;
  106.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  107.     INLINE $3F3C, $0022, $A9ED;
  108.     {$ENDC}
  109. FUNCTION IULangOrder(language1: LangCode; language2: LangCode): INTEGER;
  110.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  111.     INLINE $3F3C, $0020, $A9ED;
  112.     {$ENDC}
  113. FUNCTION IUScriptOrder(script1: ScriptCode; script2: ScriptCode): INTEGER;
  114.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  115.     INLINE $3F3C, $001E, $A9ED;
  116.     {$ENDC}
  117. FUNCTION IUCompPString(aStr: Str255; bStr: Str255; itl2Handle: Handle): INTEGER;
  118. FUNCTION IUEqualPString(aStr: Str255; bStr: Str255; itl2Handle: Handle): INTEGER;
  119. FUNCTION IUStringOrder(aStr: Str255; bStr: Str255; aScript: ScriptCode; bScript: ScriptCode; aLang: LangCode; bLang: LangCode): INTEGER;
  120. {  The following are new names which are not exported by System 7 InterfaceLib for PowerPC. }
  121. FUNCTION CompareText(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER; itl2Handle: Handle): INTEGER;
  122.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  123.     INLINE $3F3C, $001A, $A9ED;
  124.     {$ENDC}
  125. FUNCTION IdenticalText(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER; itl2Handle: Handle): INTEGER;
  126.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  127.     INLINE $3F3C, $001C, $A9ED;
  128.     {$ENDC}
  129. FUNCTION TextOrder(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER; aScript: ScriptCode; bScript: ScriptCode; aLang: LangCode; bLang: LangCode): INTEGER;
  130.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  131.     INLINE $3F3C, $0022, $A9ED;
  132.     {$ENDC}
  133. FUNCTION LanguageOrder(language1: LangCode; language2: LangCode): INTEGER;
  134.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  135.     INLINE $3F3C, $0020, $A9ED;
  136.     {$ENDC}
  137. FUNCTION CompareString(aStr: Str255; bStr: Str255; itl2Handle: Handle): INTEGER;
  138. FUNCTION IdenticalString(aStr: Str255; bStr: Str255; itl2Handle: Handle): INTEGER;
  139. FUNCTION StringOrder(aStr: Str255; bStr: Str255; aScript: ScriptCode; bScript: ScriptCode; aLang: LangCode; bLang: LangCode): INTEGER;
  140. {
  141.    The following new function name IS exported by InterfaceLib and works on both 68k and
  142.    System 7 PowerPC.
  143. }
  144. FUNCTION ScriptOrder(script1: ScriptCode; script2: ScriptCode): INTEGER;
  145.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  146.     INLINE $3F3C, $001E, $A9ED;
  147.     {$ENDC}
  148. {
  149.    The following new function name IS exported by InterfaceLib and works on both 68k and
  150.    System 7 PowerPC.
  151. }
  152. FUNCTION ReplaceText(baseText: Handle; substitutionText: Handle; VAR key: Str15): INTEGER;
  153.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  154.     INLINE $2F3C, $820C, $FFDC, $A8B5;
  155.     {$ENDC}
  156. FUNCTION IUMagString(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER): INTEGER;
  157.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  158.     INLINE $3F3C, $000A, $A9ED;
  159.     {$ENDC}
  160. FUNCTION IUMagIDString(aPtr: UNIV Ptr; bPtr: UNIV Ptr; aLen: INTEGER; bLen: INTEGER): INTEGER;
  161.     {$IFC TARGET_OS_MAC AND TARGET_CPU_68K AND NOT TARGET_RT_MAC_CFM}
  162.     INLINE $3F3C, $000C, $A9ED;
  163.     {$ENDC}
  164. FUNCTION IUCompString(aStr: Str255; bStr: Str255): INTEGER;
  165. FUNCTION IUEqualString(aStr: Str255; bStr: Str255): INTEGER;
  166. FUNCTION RelString(str1: Str255; str2: Str255; caseSensitive: BOOLEAN; diacSensitive: BOOLEAN): INTEGER;
  167. FUNCTION EqualString(str1: Str255; str2: Str255; caseSensitive: BOOLEAN; diacSensitive: BOOLEAN): BOOLEAN;
  168. {$ALIGN RESET}
  169. {$POP}
  170.  
  171. {$SETC UsingIncludes := StringCompareIncludes}
  172.  
  173. {$ENDC} {__STRINGCOMPARE__}
  174.  
  175. {$IFC NOT UsingIncludes}
  176.  END.
  177. {$ENDC}
  178.